package com.zjw.zy.base;

import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;

import androidx.annotation.NonNull;

/**
 * @author ：zhong.jw
 * @date ：Created in 2022/10/9 10:01
 * <p>
 * 手势ViewHolder，配合#GestureRecyclerView#使用
 */
public abstract class GestureViewHolder<DATA> extends BaseViewHolder<DATA> {

    public GestureViewHolder(@NonNull View itemView) {
        super(itemView);
    }

    protected abstract void onUpSlide(@NonNull GestureRecyclerView parent, @NonNull MotionEvent event);

    protected abstract void onDownSlide(@NonNull GestureRecyclerView parent, @NonNull MotionEvent event);

    protected abstract void onLeftSlide(@NonNull GestureRecyclerView parent, @NonNull MotionEvent event);

    protected abstract void onRightSlide(@NonNull GestureRecyclerView parent, @NonNull MotionEvent event);

    protected abstract void onClick(@NonNull GestureRecyclerView parent, @NonNull MotionEvent event);

    protected abstract void onLongPress(@NonNull GestureRecyclerView parent, @NonNull MotionEvent event);

    protected abstract void onDoubleClick(@NonNull GestureRecyclerView parent, @NonNull MotionEvent event);

    protected abstract void onDown(@NonNull GestureRecyclerView parent, @NonNull MotionEvent event);
}
